/**
 *@NApiVersion 2.x
 *@NScriptType ClientScript
 */
define(['N/record', 'N/ui/dialog', 'N/search'], function (record, dialog, search) {

    function saveRecord(context) {
        //判断TO单的收货单  有没有填库存详情,没有则不让保存
        //先判断这个收货的仓库有没有开启库位如果开启了，则去判断该货品有没有对应的改仓库的库位，如果有则不提示，如果没有，则提示要在货品上维护库位；如果这个收货的仓库没开启库位，则不需要去提示填库位
        var createdfrom = context.currentRecord.getText('createdfrom');
        if (createdfrom.indexOf('Transfer Order') !== -1 || createdfrom.indexOf('TO') !== -1 || createdfrom.indexOf('调拨单') !== -1) {
            for (var i = 0; i < context.currentRecord.getLineCount('item'); i++) {
                context.currentRecord.selectLine('item', i);
                var itemId = context.currentRecord.getSublistValue('item', 'item', i);
                var locationId = context.currentRecord.getSublistValue('item', 'location', i);

                var locationRec = record.load({
                    type: 'location',
                    id: locationId
                });
                if (!locationRec.getValue('usebins')){
                    //仓库没开库位，不提示
                }else{
                    //仓库开了库位
                    var results = search.create({
                        type: 'item',
                        columns: ['type'],
                        filters: [['internalid', 'is', itemId]]
                    }).run().getRange(0, 1);
                    var itemRec = record.load({
                        type: results[0].recordType,
                        id: itemId
                    });
                    var line = itemRec.findSublistLineWithValue('binnumber', 'location', locationId);
                    if (line === -1) {
                        //货品在该仓库没有开启库位，
                        dialog.alert({title: "提示", message: "请维护该货品在仓库的库位！"});
                        return false;
                    } else {
                        //货品在该仓库开启了库位，
                        var hasCurrentSublistSubrecord = context.currentRecord.hasCurrentSublistSubrecord('item', 'inventorydetail');
                        if (!hasCurrentSublistSubrecord) {
                            dialog.alert({title: "提示", message: "请填写第" + (i + 1) + "行的库存详情!"});
                            return false;
                        }
                    }
                }
            }
        }
        return true;
    }


    return {
        saveRecord: saveRecord
    };
});